<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of final_evaluation_answers_controller
 *
 * @author wilavel
 */
class FinalEvaluationAnswersController extends AppController {

    //put your code here
    var $name = "FinalEvaluationAnswers";

    function proyect_index($final_evaluation_index) {
        $this->layout = "ajax";
        $this->FinalEvaluationAnswer->recursive = 0;
        $this->FinalEvaluationAnswer->unbindModel(
                array('belongsTo' => array('FinalEvaluation'))
        );
        $proyect_id = $this->Session->read('proy_id');
        //buscando la cantidad de puntos por pregunta y el total de puntos de acuerdo al tipo de proyecto 
        App::Import('model', 'Proyect');
        $proyect = new Proyect();
        $tipo_proyecto = $proyect->field('Proyect.proyect_type_id', array('Proyect.id' => $proyect_id));
        $maximo_agricola = 0;
        $maximo_pecuario = 0;
        if ($tipo_proyecto == 3) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_agricola)', array('EvaluationQuestion.tipo' => 'proyecto'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_pecuario)', array('EvaluationQuestion.tipo' => 'proyecto'));
        } elseif ($tipo_proyecto == 1) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_agricola)', array('EvaluationQuestion.tipo' => 'proyecto'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_pecuario)', array('EvaluationQuestion.tipo' => 'proyecto'));
        } elseif ($tipo_proyecto == 2) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_agricola)', array('EvaluationQuestion.tipo' => 'proyecto'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_pecuario)', array('EvaluationQuestion.tipo' => 'proyecto'));
        }


        $this->set('maximo_agricola', $maximo_agricola);
        $this->set('tipo_proyecto', $tipo_proyecto);
        $this->set('maximo_pecuario', $maximo_pecuario);
        //Se cargan las preguntan (asociacion preguntas con evaluacion)cuando se ingresa por primera vez  
        $conteo = $this->FinalEvaluationAnswer->find('count', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'proyecto')));
        if ($conteo == 0) {
            $this->FinalEvaluationAnswer->EvaluationQuestion->recursive = -1;
            $preguntas = $this->FinalEvaluationAnswer->EvaluationQuestion->find('all', array('conditions' => array('EvaluationQuestion.tipo' => 'proyecto'), 'fields' => array('EvaluationQuestion.id')));
            foreach ($preguntas as $preg) {
                $this->FinalEvaluationAnswer->create();
                $datos = array('FinalEvaluationAnswer' => array(
                        'final_evaluation_id' => $final_evaluation_index,
                        'evaluation_question_id' => $preg['EvaluationQuestion']['id']
                        ));
                $this->FinalEvaluationAnswer->save($datos);
            }
        }
        //buscamos si el tipo de proyecto es agricola o pecuario y de acuerdo al area de las lineas productivas planteadas

        $area_agricola = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Agricola','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_agricola ')));
        $area_pecuaria = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Pecuaria','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_pecuaria ')));
        $tipo_linea = "";
        if ($area_agricola[0]['suma_agricola'] >= $area_pecuaria[0]['suma_pecuaria']) {
            $tipo_linea = "Agricola";
        } else {
            $tipo_linea = "Pecuario";
        }
        $this->set('tipo_linea', $tipo_linea);
        $this->set('area_agraria', $area_agricola[0]['suma_agricola']);
        $this->set('area_pecuaria', $area_pecuaria[0]['suma_pecuaria']);


        $respuestas = $this->FinalEvaluationAnswer->find('all', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'proyecto'), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'EvaluationQuestion.*')));
        $this->set('respuestas', $respuestas);
    }

    function social_index($final_evaluation_index) {
        $this->layout = "ajax";
        $this->FinalEvaluationAnswer->recursive = 0;
        $this->FinalEvaluationAnswer->unbindModel(
                array('belongsTo' => array('FinalEvaluation'))
        );
        $proyect_id = $this->Session->read('proy_id');
        //buscando la cantidad de puntos por pregunta y el total de puntos de acuerdo al tipo de proyecto 

        App::Import('model', 'Proyect');
        $proyect = new Proyect();
        $tipo_proyecto = $proyect->field('Proyect.proyect_type_id', array('Proyect.id' => $proyect_id));
        $maximo_agricola = 0;
        $maximo_pecuario = 0;
        if ($tipo_proyecto == 3) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_agricola)', array('EvaluationQuestion.tipo' => 'social'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_pecuario)', array('EvaluationQuestion.tipo' => 'social'));
        } elseif ($tipo_proyecto == 1) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_agricola)', array('EvaluationQuestion.tipo' => 'social'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_pecuario)', array('EvaluationQuestion.tipo' => 'social'));
        } elseif ($tipo_proyecto == 2) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_agricola)', array('EvaluationQuestion.tipo' => 'social'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_pecuario)', array('EvaluationQuestion.tipo' => 'social'));
        }


        $this->set('maximo_agricola', $maximo_agricola);
        $this->set('tipo_proyecto', $tipo_proyecto);
        $this->set('maximo_pecuario', $maximo_pecuario);

        //Se cargan las preguntan (asociacion preguntas con evaluacion)cuando se ingresa por primera vez  

        $conteo = $this->FinalEvaluationAnswer->find('count', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'social')));
        if ($conteo == 0) {
            $this->FinalEvaluationAnswer->EvaluationQuestion->recursive = -1;
            $preguntas = $this->FinalEvaluationAnswer->EvaluationQuestion->find('all', array('conditions' => array('EvaluationQuestion.tipo' => 'social'), 'fields' => array('EvaluationQuestion.id')));
            foreach ($preguntas as $preg) {
                $this->FinalEvaluationAnswer->create();
                $datos = array('FinalEvaluationAnswer' => array(
                        'final_evaluation_id' => $final_evaluation_index,
                        'evaluation_question_id' => $preg['EvaluationQuestion']['id']
                        ));
                $this->FinalEvaluationAnswer->save($datos);
            }
        }
        //buscamos si el tipo de proyecto es agricola o pecuario y de acuerdo al area de las lineas productivas planteadas

        $area_agricola = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Agricola','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_agricola ')));
        $area_pecuaria = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Pecuaria','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_pecuaria ')));
        $tipo_linea = "";
        if ($area_agricola[0]['suma_agricola'] >= $area_pecuaria[0]['suma_pecuaria']) {
            $tipo_linea = "Agricola";
        } else {
            $tipo_linea = "Pecuario";
        }
        $this->set('tipo_linea', $tipo_linea);
        $this->set('area_agraria', $area_agricola[0]['suma_agricola']);
        $this->set('area_pecuaria', $area_pecuaria[0]['suma_pecuaria']);
        $respuestas = $this->FinalEvaluationAnswer->find('all', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'social'), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'EvaluationQuestion.*')));
        $this->set('respuestas', $respuestas);
    }

    function financial_index($final_evaluation_index) {
        $this->layout = "ajax";
        $this->FinalEvaluationAnswer->recursive = 0;
        $this->FinalEvaluationAnswer->unbindModel(
                array('belongsTo' => array('FinalEvaluation'))
        );
        $proyect_id = $this->Session->read('proy_id');
        //buscando la cantidad de puntos por pregunta y el total de puntos de acuerdo al tipo de proyecto 

        App::Import('model', 'Proyect');
        $proyect = new Proyect();
        $tipo_proyecto = $proyect->field('Proyect.proyect_type_id', array('Proyect.id' => $proyect_id));
        $maximo_agricola = 0;
        $maximo_pecuario = 0;
        if ($tipo_proyecto == 3) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_agricola)', array('EvaluationQuestion.tipo' => 'financiero'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_pecuario)', array('EvaluationQuestion.tipo' => 'financiero'));
        } elseif ($tipo_proyecto == 1) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_agricola)', array('EvaluationQuestion.tipo' => 'financiero'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_pecuario)', array('EvaluationQuestion.tipo' => 'financiero'));
        } elseif ($tipo_proyecto == 2) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_agricola)', array('EvaluationQuestion.tipo' => 'financiero'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_pecuario)', array('EvaluationQuestion.tipo' => 'financiero'));
        }


        $this->set('maximo_agricola', $maximo_agricola);
        $this->set('tipo_proyecto', $tipo_proyecto);
        $this->set('maximo_pecuario', $maximo_pecuario);

        //Se cargan las preguntas (asociacion preguntas con evaluacion)cuando se ingresa por primera vez  

        $conteo1 = $this->FinalEvaluationAnswer->find('count', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'financiero')));
        if ($conteo1 == 0) {
            $this->FinalEvaluationAnswer->EvaluationQuestion->recursive = -1;
            $preguntas = $this->FinalEvaluationAnswer->EvaluationQuestion->find('all', array('conditions' => array('EvaluationQuestion.tipo' => 'financiero'), 'fields' => array('EvaluationQuestion.id')));
            foreach ($preguntas as $preg) {
                $this->FinalEvaluationAnswer->create();
                $datos = array('FinalEvaluationAnswer' => array(
                        'final_evaluation_id' => $final_evaluation_index,
                        'evaluation_question_id' => $preg['EvaluationQuestion']['id']
                        ));
                $this->FinalEvaluationAnswer->save($datos);
            }
        }
        //buscamos si el tipo de proyecto es agricola o pecuario y de acuerdo al area de las lineas productivas planteadas

        $area_agricola = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Agricola','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_agricola ')));
        $area_pecuaria = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Pecuaria','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_pecuaria ')));
        $tipo_linea = "";
        if ($area_agricola[0]['suma_agricola'] >= $area_pecuaria[0]['suma_pecuaria']) {
            $tipo_linea = "Agricola";
        } else {
            $tipo_linea = "Pecuario";
        }
        $this->set('tipo_linea', $tipo_linea);
        $this->set('area_agraria', $area_agricola[0]['suma_agricola']);
        $this->set('area_pecuaria', $area_pecuaria[0]['suma_pecuaria']);

        $respuestas = $this->FinalEvaluationAnswer->find('all', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'financiero'), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'EvaluationQuestion.*')));
        $this->set('respuestas', $respuestas);
    }

    function ambiental_index($final_evaluation_index) {
        $this->layout = "ajax";
        $this->FinalEvaluationAnswer->recursive = 0;
        $this->FinalEvaluationAnswer->unbindModel(
                array('belongsTo' => array('FinalEvaluation'))
        );
        $proyect_id = $this->Session->read('proy_id');
//buscando la cantidad de puntos por pregunta y el total de puntos de acuerdo al tipo de proyecto 

        App::Import('model', 'Proyect');
        $proyect = new Proyect();
        $tipo_proyecto = $proyect->field('Proyect.proyect_type_id', array('Proyect.id' => $proyect_id));
        $maximo_agricola = 0;
        $maximo_pecuario = 0;
        if ($tipo_proyecto == 3) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_agricola)', array('EvaluationQuestion.tipo' => 'ambiental'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_md_pecuario)', array('EvaluationQuestion.tipo' => 'ambiental'));
        } elseif ($tipo_proyecto == 1) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_agricola)', array('EvaluationQuestion.tipo' => 'ambiental'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_c_pecuario)', array('EvaluationQuestion.tipo' => 'ambiental'));
        } elseif ($tipo_proyecto == 2) {
            $maximo_agricola = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_agricola)', array('EvaluationQuestion.tipo' => 'ambiental'));
            $maximo_pecuario = $this->FinalEvaluationAnswer->EvaluationQuestion->field('sum(puntos_d_pecuario)', array('EvaluationQuestion.tipo' => 'ambiental'));
        }


        $this->set('maximo_agricola', $maximo_agricola);
        $this->set('tipo_proyecto', $tipo_proyecto);
        $this->set('maximo_pecuario', $maximo_pecuario);

        //Se cargan las preguntas (asociacion preguntas con evaluacion)cuando se ingresa por primera vez  

        $conteo1 = $this->FinalEvaluationAnswer->find('count', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'ambiental')));
        if ($conteo1 == 0) {
            $this->FinalEvaluationAnswer->EvaluationQuestion->recursive = -1;
            $preguntas = $this->FinalEvaluationAnswer->EvaluationQuestion->find('all', array('conditions' => array('EvaluationQuestion.tipo' => 'ambiental'), 'fields' => array('EvaluationQuestion.id')));
            foreach ($preguntas as $preg) {
                $this->FinalEvaluationAnswer->create();
                $datos = array('FinalEvaluationAnswer' => array(
                        'final_evaluation_id' => $final_evaluation_index,
                        'evaluation_question_id' => $preg['EvaluationQuestion']['id']
                        ));
                $this->FinalEvaluationAnswer->save($datos);
            }
        }
        //buscamos si el tipo de proyecto es agricola o pecuario y de acuerdo al area de las lineas productivas planteadas

        $area_agricola = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Agricola','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_agricola ')));
        $area_pecuaria = $this->FinalEvaluationAnswer->FinalEvaluation->FinalProductiveLine->find('first', array('conditions' => array('ProductiveActivity.tipo' => 'Pecuaria','FinalProductiveLine.final_evaluation_id'=>$final_evaluation_index), 'fields' => array('sum(FinalProductiveLine.area)AS suma_pecuaria ')));
        $tipo_linea = "";
        if ($area_agricola[0]['suma_agricola'] >= $area_pecuaria[0]['suma_pecuaria']) {
            $tipo_linea = "Agricola";
        } else {
            $tipo_linea = "Pecuario";
        }
        $this->set('tipo_linea', $tipo_linea);
        $this->set('area_agraria', $area_agricola[0]['suma_agricola']);
        $this->set('area_pecuaria', $area_pecuaria[0]['suma_pecuaria']);

        $respuestas = $this->FinalEvaluationAnswer->find('all', array('conditions' => array('FinalEvaluationAnswer.final_evaluation_id' => $final_evaluation_index, 'EvaluationQuestion.tipo' => 'ambiental'), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'EvaluationQuestion.*')));
        $this->set('respuestas', $respuestas);
    }

    function edit_proyect_answer($answer_id, $puntos_agricola, $puntos_pecuario) {

        $this->set("puntos_agricola", $puntos_agricola);
        $this->set("puntos_pecuario", $puntos_pecuario);
        if (empty($this->data)) {
            $this->FinalEvaluationAnswer->unbindModel(
                    array('belongsTo' => array('FinalEvaluation'))
            );
            $this->data = $this->FinalEvaluationAnswer->find('first', array('conditions' => array('FinalEvaluationAnswer.id' => $answer_id), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'FinalEvaluationAnswer.final_evaluation_id', 'EvaluationQuestion.nombre')));
        } else {
            if ($this->FinalEvaluationAnswer->save($this->data)) {
                $this->Session->setFlash(_("Registro editado con éxito"), 'flash_custom');
                $this->redirect(array('controller' => 'FinalEvaluationAnswers', 'action' => 'proyect_index', $this->data['FinalEvaluationAnswer']['final_evaluation_id']));
            }
        }
    }

    function edit_social_answer($answer_id, $puntos_agricola, $puntos_pecuario) {
        $this->set("puntos_agricola", $puntos_agricola);
        $this->set("puntos_pecuario", $puntos_pecuario);
        if (empty($this->data)) {
            $this->FinalEvaluationAnswer->unbindModel(
                    array('belongsTo' => array('FinalEvaluation'))
            );
            $this->data = $this->FinalEvaluationAnswer->find('first', array('conditions' => array('FinalEvaluationAnswer.id' => $answer_id), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'FinalEvaluationAnswer.final_evaluation_id', 'EvaluationQuestion.nombre')));
        } else {
            if ($this->FinalEvaluationAnswer->save($this->data)) {
                $this->Session->setFlash(_("Registro editado con éxito"), 'flash_custom');
                $this->redirect(array('controller' => 'FinalEvaluationAnswers', 'action' => 'social_index', $this->data['FinalEvaluationAnswer']['final_evaluation_id']));
            }
        }
    }

    function edit_financial_answer($answer_id, $puntos_agricola, $puntos_pecuario) {
        $this->set("puntos_agricola", $puntos_agricola);
        $this->set("puntos_pecuario", $puntos_pecuario);
        if (empty($this->data)) {
            $this->FinalEvaluationAnswer->unbindModel(
                    array('belongsTo' => array('FinalEvaluation'))
            );
            $this->data = $this->FinalEvaluationAnswer->find('first', array('conditions' => array('FinalEvaluationAnswer.id' => $answer_id), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'FinalEvaluationAnswer.final_evaluation_id', 'EvaluationQuestion.nombre')));
        } else {
            if ($this->FinalEvaluationAnswer->save($this->data)) {
                $this->Session->setFlash(_("Registro editado con éxito"), 'flash_custom');
                $this->redirect(array('controller' => 'FinalEvaluationAnswers', 'action' => 'financial_index', $this->data['FinalEvaluationAnswer']['final_evaluation_id']));
            }
        }
    }

    function edit_ambiental_answer($answer_id, $puntos_agricola, $puntos_pecuario) {
        $this->set("puntos_agricola", $puntos_agricola);
        $this->set("puntos_pecuario", $puntos_pecuario);
        if (empty($this->data)) {
            $this->FinalEvaluationAnswer->unbindModel(
                    array('belongsTo' => array('FinalEvaluation'))
            );
            $this->data = $this->FinalEvaluationAnswer->find('first', array('conditions' => array('FinalEvaluationAnswer.id' => $answer_id), 'fields' => array('FinalEvaluationAnswer.id', 'FinalEvaluationAnswer.puntaje_agricola', 'FinalEvaluationAnswer.puntaje_pecuario', 'FinalEvaluationAnswer.final_evaluation_id', 'EvaluationQuestion.nombre')));
        } else {

            if ($this->FinalEvaluationAnswer->save($this->data)) {
                $this->Session->setFlash(_("Registro editado con éxitoggggg"), 'flash_custom');
                $this->redirect(array('controller' => 'FinalEvaluationAnswers', 'action' => 'ambiental_index', $this->data['FinalEvaluationAnswer']['final_evaluation_id']));
            }
        }
    }

}

?>
